Dovecot est une application d'agent de distribution des courriels (voir Comment fonctionne le courriel sous Linux ?). Pour voir ce que peut faire un agent de distribution de courriels lire Comment configurer sa distribution de courriels MDA sous Ubuntu ?
Cette application vous permet de trier et classer vos courriels à l'arrivée dans une boite aux lettres utilisateur ou dans une boite postale. Elle gère l'identification des courriels marqués comme SPAM ou comme Virus par votre MTA.
Installez les paquets de filtrages de l'agent de distribution des courriels Dovecot dovecot-sieve dovecot-managesieved.
Pour configurer le MDA Dovecot…
sudo nano /etc/dovecot/conf.d/10-mail.conf
… mail_location = maildir:~/.local/share/courriels …
Le MDA utilise deux façons de distribuer les courriels, par l'Agent de Distribution Locale (LDA), ou avec le Protocole Local de Transport des Courriels (LMTP) qui est une variante locale au serveur de messagerie du SMTP.
sudo nano /etc/dovecot/15-lda.conf
{
…
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
protocol lda {
mail_plugins = $mail_plugins #sieve
}
nano /etc/dovecot/conf.d/90-sieve.conf
plugin {
sieve = file:~/.sieve;active=~/.dovecot.sieve
sieve_default = /var/lib/dovecot/sieve/default.sieve
}
sudo nano /etc/dovecot/conf.d/10-auth.conf
… disable_plaintext_auth = yes … auth_mechanisms = plain login …
sudo nano /etc/dovecot/conf.d/10-ssl.conf
… ssl = yes ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key …
sudo mkdir /var/lib/dovecot/sieve/ sudo nano /var/lib/dovecot/sieve/default.sieve
L'exemple de règles suivant déplace automatiquement les courriels indésirables de la boîte de réception vers le dossier indésirable SPAMs. X-Spam-Flag est ajouté par spamassassin et amavis par le serveur MTA.
require "fileinto";
if header :contains "X-Spam-Flag" "YES" {
fileinto "SPAMs";
}
sudo sievec /var/lib/dovecot/sieve/default.sieve
nano ~/.dovecot.sieve
require "fileinto";
if exists "X-Spam-Flag" {
# Store spam tagged by SpamAssassin into dedicated Spam folder
if header :contains "X-Spam-Flag" "YES" {
fileinto "Spam";
}
} elsif exists "X-Cron-Env" {
# Store mails from Cron daemon in dedicated folder
fileinto "cron";
} elsif exists "List-Id" {
# File list-mail into dedicated folders, matching on List-Id
if header :contains "List-Id" "boost-users.lists.boost.org" {
fileinto "boost-users";
} elsif header :contains "List-Id" "brltty.mielke.cc" {
fileinto "brltty";
} elsif header :contains "List-Id" "debian-accessibility.lists.debian.org" {
fileinto "debian-accessibility";
} elsif header :contains "List-Id" "debian-devel-announce.lists.debian.org" {
fileinto "debian-devel-announce";
} elsif header :contains "List-Id" "debian-devel.lists.debian.org" {
fileinto "debian-devel";
} elsif header :contains "List-Id" "spirit-general.lists.sourceforge.net" {
fileinto "spirit-general";
}
# ...
}